'<%@ page pageEncoding="UTF-8"%>';

/**==================================XXX平台-->考试主页===========================*/

/**集中声明该页AJAX请求的URL*/
var url_endTime='${endTime}';
var url_updatePaperState='${updatePaperState}';
var url_submitPaper='${submitPaper}';
var url_logout='${logout}';
var url_login='${login}';

/**集中声明该页变量*/
var paperState = '${student.paperState}';

/**初始化该页的UI控件*/
$(function(){
	initTabs_stuIndex();
	initBtn_stuIndex();
});

/**-----------------------------------视图-----------------------------------*/

/**初始化选项卡*/
function initTabs_stuIndex(){
	$('#tabs_stuIndex').tabs({
		justified : true,
		fit:true,
		border:false
	});
	// 禁用选择题和问答题选项卡
	$('#tabs_stuIndex').tabs('disableTab',1);
	$('#tabs_stuIndex').tabs('disableTab',2);
}

/**初始化按钮*/
function initBtn_stuIndex(){
	// 开始考试
	$('#operation a:eq(0)').linkbutton({
		iconCls: 'icon-ok'
	});
	$('#operation a:eq(0)').linkbutton('disable');
	// 提交试卷
	$('#operation a:eq(1)').linkbutton({
		iconCls: 'icon-save'
	});
	$('#operation a:eq(1)').linkbutton('disable');
	// 退出系统
	$('#operation a:eq(2)').linkbutton({
		iconCls: 'icon-undo'
	});
	$('#operation a:eq(2)').linkbutton('disable');
	
	
	/*
	 * 判断当前试卷状态
	 */
	// 如果状态考试状态为0-未开考，2-重考，则启用
	if(paperState == 0 || paperState == 2){
		// 开启开始考试按钮
		$('#operation a:eq(0)').linkbutton('enable');
		onClick_Start_stuIndex();
		// 开启退出系统按钮
		$('#operation a:eq(2)').linkbutton('enable');
		onClick_logout_stuIndex();
	}
	// 如果状态考试状态为1-已开考
	if(paperState == 1){
		// 修改文字为“考试中...”
		$('#operation a:eq(0)').linkbutton({text : "考试中..."});
		// 移除单击事件
		$("#operation a:eq(0)").unbind( "click" );
		// 启用提交试卷按钮
		$('#operation a:eq(1)').linkbutton('enable');
		onClick_End_stuIndex();

		
		
		// 启用选择题和问答题选项卡
		$('#tabs_stuIndex').tabs('enableTab',1);
		$('#tabs_stuIndex').tabs('enableTab',2);
		// 初始化倒计时
		var endTime = '';
		// 从后台获取考试截止时间
		$.ajax({
			async : false,
			type : 'post',
			url : url_endTime,
			success : function(data){
				if(data.success){
					endTime = data.data;
				} else{
					flag = false;
				}
			}
		});
		// 开始倒计时
		initCountDown_stuIndex(endTime);
	}
	// 如果状态考试状态为3-已交卷，则修改文字为“考试结束”
	if(paperState == 3){
		$('#operation a:eq(0)').linkbutton({text : "考试结束"});
	}
}

/**-----------------------------------事件-----------------------------------*/

//开始考试
function onClick_Start_stuIndex(){
	$('#operation a:eq(0)').click(function(){
		$.messager.confirm('提示', '确认开始考试？', function(r){
			if(r){
				if(startExam()){
					// 将开始考试按钮文字改为考试中
					$('#operation a:eq(0)').linkbutton({text : "考试中..."});
					// 禁用开始考试按钮
					$('#operation a:eq(0)').linkbutton('disable');
					$("#operation a:eq(0)").unbind( "click" );
					// 启用提交试卷按钮
					$('#operation a:eq(1)').linkbutton('enable');
					onClick_End_stuIndex();
					// 禁用退出系统按钮
					$('#operation a:eq(2)').linkbutton('disable');
					$("#operation a:eq(2)").unbind( "click" );
					// 启用选择题和问答题选项卡
					$('#tabs_stuIndex').tabs('enableTab',1);
					$('#tabs_stuIndex').tabs('enableTab',2);
					// 挨个选择选择题和问答题选项卡，最后退回首页
					$('#tabs_stuIndex').tabs('select',2);
					$('#tabs_stuIndex').tabs('select',1);
					$('#tabs_stuIndex').tabs('select',0);
				} else{
					$.messager.alert('操作提示','系统异常，请联系管理员！');
				}
			}
		});
	});
}

// 提交试卷
function onClick_End_stuIndex(){
	$('#operation a:eq(1)').click(function(){
		$.messager.confirm('提示', '确认提交试卷？', function(r){
			if(r){
				if(submitPaper()){
					// 将提交试卷按钮文字改为已经提交
					$('#operation a:eq(1)').linkbutton({text : "已提交"});
					// 将考试按钮文字改为考试结束
					$('#operation a:eq(0)').linkbutton({text : "考试结束"});
					// 禁用提交试卷按钮
					$('#operation a:eq(1)').linkbutton('disable');
					$("#operation a:eq(1)").unbind( "click" );
					// 开启退出系统按钮
					$('#operation a:eq(2)').linkbutton('enable');
					onClick_logout_stuIndex();
					// 弹出成功提示
					$.messager.show({
						title:"提示",
						msg:"试卷提交成功！",
						timeout:3000
					});
				} else{
					$.messager.alert('操作提示','系统异常，请联系管理员！');
				}
			}
		});
	});
}

// 退出系统
function onClick_logout_stuIndex(){
	$('#operation a:eq(2)').click(function(){
		$.ajax({
			type : 'post',
			url : '${logout}',
			success : function(data){
				self.location.href='${login}';
			}
		});
	});
}

/**-----------------------------------行为-----------------------------------*/

/**开始考试：同步AJAX*/
function startExam(){
	var flag = true;
	// 从后台获取考试截止时间
	var endTime = '';
	$.ajax({
		async : false,
		type : 'post',
		url : url_endTime,
		success : function(data){
			if(data.success){
				endTime = data.data;
			} else{
				flag = false;
			}
		}
	});
	// 开始倒计时
	initCountDown_stuIndex(endTime);
	// 修改试卷状态为1
	$.ajax({
		async : false,
		type : 'post',
		data : {
			paperState : 1,
		},
		dataType : 'json',
		url : url_updatePaperState,
		success : function(data){
			if(!data.success){
				flag = false;
			}
		}
	});
	return flag;
}

/**提交试卷：同步AJAX*/
function submitPaper(){
	var flag = true;
	// 获取试卷答案
	var answer_form1_json = serializeForm($('#form_choice'));
	var answer_form2_json = serializeForm($('#form_question'));
	// 提交试卷答案
	$.ajax({
		async : false,
		type : 'post',
		data : {
			choiceAnswer : JSON.stringify(answer_form1_json),
			questionAnswer : JSON.stringify(answer_form2_json),
		},
		dataType : 'json',
		url : url_submitPaper,
		success : function(data){
			if(!data.success){
				flag = false;
			}
		}
	});
	// 停止倒计时
	stopCountDown_stuIndex();
	return flag;
}

/**开启倒计时*/
function initCountDown_stuIndex(endTime){
	var isTimeOut = false;
	var isTimeEnding = false;
	$('#countdown').countdown(endTime, function(event) {
		var time = event.strftime('距考试结束时间还有：%H:%M:%S');
		if(time.indexOf('00:05:00') > 0){
			if(!isTimeEnding){
				// 弹出提示
				$.messager.show({
					title:"提示",
					msg:"距考试结束时间还剩5分钟，抓紧时间交卷！",
					timeout:3000
				});
				isTimeEnding = true;
			}
		}
		if(time.indexOf('00:00:00') > 0){
			if(!isTimeOut){
				$('#countdown').html("距考试结束时间还有：00:00:00");
				isTimeOut = true;
				// 倒计时结束，强制自动交卷，退出系统
				if(submitPaper()){
					// 弹出成功提示
					$.messager.show({
						title:"提示",
						msg:"考试时间到，系统已经自动交卷！",
						timeout:4000
					});
					// 将提交试卷按钮文字改为已经提交
					$('#operation a:eq(1)').linkbutton({text : "已提交"});
					// 将考试按钮文字改为考试结束
					$('#operation a:eq(0)').linkbutton({text : "考试结束"});
					// 禁用提交试卷按钮
					$('#operation a:eq(1)').linkbutton('disable');
					$("#operation a:eq(1)").unbind( "click" );
					// 开启退出系统按钮
					$('#operation a:eq(2)').linkbutton('enable');
					onClick_logout_stuIndex();
				} else{
					$.messager.alert('操作提示','系统自动交卷失败，请联系管理员！');
				}
			}
		} else{
			$(this).html(time);
		}
	});
}

/**停止倒计时*/
function stopCountDown_stuIndex(){
	$('#countdown').countdown('stop');
}